export function patch (oldVnode, vnode) {
  // 是1为真实节点
  if (oldVnode.nodeType == 1) {
    // 用vnode生成真实dom替换掉原来的dom元素
    let parentElm = oldVnode.parentNode
    let elm = createElm(vnode)//根据虚拟节点创建元素

    // 第一次渲染后 删除掉节点 下次在使用无法获取
    parentElm.insertBefore(elm, oldVnode.nextSibling)
    parentElm.removeChild(oldVnode)
    return elm

  }
}

function createElm (vnode) {
  const { tag, data, children, text, vm } = vnode
  // vnode有一个el属性对应真实节点 
  if (typeof vnode.tag == 'string') {
    vnode.el = document.createElement(tag)
    children.forEach((child) => {
      vnode.el.appendChild(createElm(child))
    })
  } else {
    vnode.el = document.createTextNode(text)
  }
  return vnode.el
}